<!DOCTYPE html>
<html xmlns:th="http://www.springframework.org/schema/jdbc">
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	 <table id="menu_manage" data-options="border:false,fit:true" ></table>
	 <div id="menu_add"></div>
	  <!-- 修改对话框 start -->
    <div id="memu_update" style="text-align:center;padding-top:20px;"></div>
     <!-- 修改对话框 end -->
      
    <script th:inline="none" type="text/javascript" >
   		$(function(){
	   		 $('#menu_manage').datagrid({
	   			fitColumns:true,
	   	     	url:'/manage/menu/MenuAllData',
	   	        columns:[[
	   	            {field:'id',title:'节点',width:10,align:"center"},
	   	            {field:'text',title:'菜单名称',width:20},
	   	            {field:'parentId',title:'父亲节点'},
	   	            {field:'status',title:'状态',width:10},
	   	            {field:'sortOrder',title:'排序',width:10},
	   	            {field:'urlPath',title:'页面路径',width:100},
	   	            {field:'isParent',title:'是否有父节点',width:10}
	   	        ]],
	   	  		toolbar:[
		         {text:'添加',iconCls:'icon-add',
		        	 //为按钮绑定单击事件
		        	 handler:function(){
		        		 $('#menu_add').dialog({
	        			    title: '添加菜单',
	        			    width: 500,
	        			    height: 550,
	        			    closed: false,
	        			    cache: false,
	        			    href: '/manage/menu/addmenu.html',
	        			    modal: true,
	        			    buttons:[{
	        					text:'添加菜单',
	        					handler:function(){
	        						$('#menu_addFrom').form('submit', {
	        						    url:"/manage/menu/addmenu",
	        						    onSubmit: function(){
	        						    	var isValid = $(this).form('validate');
	        								return isValid;	// 返回false终止表单提交

	        						    },
	        						    success:function(data){
	        						    	//界面会alert提示undefined，所以应该是没能正确解析返回的串
	        						    	//解决方案：
	        						    	//1、需要用eval函数将返回的串转化成可用的strig串，eval(data)，但是因为原串里面是以{}开始和结束的，会被认为是可执行方法，因此需要加上()包围起来，var jsonobj=eval("("+data+")")，然后再alert("ID:" + jsonobj.id + "\nName:" + jsonobj.name);就能正常显示了
	        						    	var d=	eval("("+data+")");
	        						    	windowsOperation("menu_add","menu_manage",d);
                                            //重新加载菜单
                                            loadTree();
	        						    }
	        						})
	        					}
	        				},{
	        					text:'关闭',
	        					handler:function(){
	        						$('#menu_add').dialog('close');
	        					}
	        				}]
		        		});
		         	 }
		         },
		         {text:'修改',iconCls:'icon-edit',
			        handler:function(){
					   //获取选中行的数据
	        		   var menuRows = $('#menu_manage').datagrid('getSelections');
	        		   if (menuRows.length==1){
			        		 $('#memu_update').dialog({
		        			 	title:'修改菜单',
		        	            width:500,
		        	            height:550,
		        	            cache: false,
		        	            cache: false,
		        	            href: '/manage/menu/updatemenu.html',
		        	            modal: true,
		        	            onLoad:function(){
		        	            	$("#memu_update_form").form('load',{
		        	            		id:menuRows[0].id,
		        	            		name:menuRows[0].text,
		        	            		status:menuRows[0].status,
		        	            		sortOrder:menuRows[0].sortOrder,
		        	            		urlPath:menuRows[0].urlPath
		        	            	})
		        			    },
		        			    buttons:[{
		        					text:'修改菜单',
		        					handler:function(){
		        						$('#memu_update_form').form('submit', {
		        						    url:"/manage/menu/updatemenu",
		        						    onSubmit: function(){
		        						    	var isValid = $(this).form('validate');
		        								
		        								return isValid;	// 返回false终止表单提交
		        						    },
		        						    success:function(data){
		        						    	//界面会alert提示undefined，所以应该是没能正确解析返回的串
		        						    	//解决方案：
		        						    	//1、需要用eval函数将返回的串转化成可用的strig串，eval(data)，但是因为原串里面是以{}开始和结束的，会被认为是可执行方法，因此需要加上()包围起来，var jsonobj=eval("("+data+")")，然后再alert("ID:" + jsonobj.id + "\nName:" + jsonobj.name);就能正常显示了
		        						    	var d=	eval("("+data+")");
		        						    	windowsOperation("memu_update","menu_manage",d);
		        						    	//重新加载菜单
                                                loadTree();
		        						    }
		        						})
		        					}
		        				},{
		        					text:'关闭',
		        					handler:function(){
		        						$('#memu_update').dialog('close');
		        					}
		        				}]
			        		});
		        	 	}else{
		        	 		topCommonMessage('请选择一行要修改的数据！');
		        	    };
		        	}
		         },
		         {text:'删除',iconCls:'icon-remove',
		        	 handler:function(){
		        		 //获取选中的行
		        		var objs=$('#menu_manage').datagrid('getSelections');
		        		if(objs.length>0){
			        		$.messager.confirm('警告','您确认想要删除这<span style="color:red;">'+objs.length+'</span>条菜单吗？',function(r){    
			        		    if (r){    
			        		        $.post({
			        		        	url:'/manage/menu/deletemenu',
			        		        	data:JSON.stringify(objs),
			        		        	contentType:'application/json',
			        		        	success:function(data){
			        		        		if(data.statu==200){
			        		        			windowsOperation(null,"menu_manage",data);
                                                //重新加载菜单
                                                loadTree();
			        		        		}
			        		        	}
			        		        })    
			        		    }    
			        		}); 
		        		}else{
		        			topCommonMessage('至少要选择一行进行删除');
		        		}
		        	 }
		         }]
	   	    });
   			
   		})
        //获取父亲节点形成树:添加与修改通用
        function memuUpdateFormData(){
            var memuData;
            $.ajax({
                url:'/manage/menu/opalmenu',
                method:'post',
                async:false,
                dataType:'json',
                success:function (d) {
                    console.log(d);
                    memuData=d.list;
                }
            })
            return memuData;
        }
    </script>
</body>
</html>